<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GSoC2011SfM: OpencvSfM::PointsToTrack Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">GSoC2011SfM
   &#160;<span id="projectnumber">0.1</span>
   </div>
   <div id="projectbrief">Google Summer of Code 2011: Structure from motion</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>OpencvSfM</b>      </li>
      <li class="navelem"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html">PointsToTrack</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">OpencvSfM::PointsToTrack Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="OpencvSfM::PointsToTrack" -->
<p>This class can be used to store informations about point and features. This is an abstract class: you can't use it directly. Use for instance <a class="el" href="class_opencv_sf_m_1_1_points_to_track_with_image.html" title="This class can be used to find points and features in pictures using SIFT detector.">PointsToTrackWithImage</a>.  
 <a href="class_opencv_sf_m_1_1_points_to_track.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for OpencvSfM::PointsToTrack:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_opencv_sf_m_1_1_points_to_track.png" usemap="#OpencvSfM::PointsToTrack_map" alt=""/>
  <map id="OpencvSfM::PointsToTrack_map" name="OpencvSfM::PointsToTrack_map">
<area href="class_opencv_sf_m_1_1_points_to_track_with_image.html" title="This class can be used to find points and features in pictures using SIFT detector." alt="OpencvSfM::PointsToTrackWithImage" shape="rect" coords="0,56,223,80"/>
</map>
 </div></div>

<p><a href="class_opencv_sf_m_1_1_points_to_track-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a81706fbb7c997cbfd478397a5e7b3dc7">PointsToTrack</a> (int corresponding_image=-1, std::vector&lt; cv::KeyPoint &gt; keypoints=std::vector&lt; cv::KeyPoint &gt;(0), cv::Mat descriptors=cv::Mat())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a530e94d0c39358538d907e977263cae0">~PointsToTrack</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a68187dd20979c51cef7dad01116f5c94">free_descriptors</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a9f310ef736a0494457ee9f2193b8b986">computeKeypointsAndDesc</a> (bool forcing_recalculation=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#ac7009164560dac1f4d3283c4bf1181a3">computeKeypoints</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a1e5ef9b8da87d1b412c348ad813d0267">computeDescriptors</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a6ac0b2e69bb0fa51af529ec395fd0df7">addKeypoints</a> (std::vector&lt; cv::KeyPoint &gt; keypoints, cv::Mat descriptors=cv::Mat(), bool computeMissingDescriptor=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a076f28dac2b30dfcdb2097c496adfd9e">addKeypoint</a> (cv::KeyPoint point)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::vector&lt; cv::KeyPoint &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#ab0ff4754d1e5c734521b5d46aef37c49">getKeypoints</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a196acc6cc4be60ad141eef597db3787c">getKeyMatches</a> (const std::vector&lt; <a class="el" href="class_opencv_sf_m_1_1_track_of_points.html">TrackOfPoints</a> &gt; &amp;matches, int otherImage, std::vector&lt; cv::Point2f &gt; &amp;pointsVals) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const cv::KeyPoint &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#abb8a5af3e4d1e71900284a9e318bc316">getKeypoint</a> (unsigned int index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a4ca955b907dee279030559d255a4e151">getDescriptors</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#adda3cb43ad421e89b8ddfe24f1c30b30">printPointsOnImage</a> (const cv::Mat &amp;image, cv::Mat &amp;outImg, const cv::Scalar &amp;color=cv::Scalar::all(-1), int flags=cv::DrawMatchesFlags::DEFAULT) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#afeff919bd2d785fb9e867e37e14b14d0">getColor</a> (unsigned int index) const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#aaae603d73a658ed0b4d2c82463372c3b">read</a> (const cv::FileNode &amp;node, <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html">PointsToTrack</a> &amp;points)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a4659d15437d115ece00feb5335923d50">write</a> (cv::FileStorage &amp;fs, const <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html">PointsToTrack</a> &amp;points)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a35e9134333ee938315f7c89603737c3c">DECLARE_MUTEX</a> (worker_exclusion)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#add21f430e246d2176dee8a34d4b92ead">impl_computeKeypoints_</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a086c4acf6884db7487eb05f9c3d996a3">impl_computeDescriptors_</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a52d852bc3fa39c952405c55a8d1e378f">nb_workers_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::KeyPoint &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a08c9523080571e71e30b11a2f8b9c6b9">keypoints_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#adcbf3783bdf4a2a1d3e10c4b74224899">descriptors_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#ae34562f2590efe81f5ce137ef011bd00">RGB_values_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1ad5a647af1dd6583dbd780e94c089c"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::corresponding_image_" ref="aa1ad5a647af1dd6583dbd780e94c089c" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#aa1ad5a647af1dd6583dbd780e94c089c">corresponding_image_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">index of frame when available <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb10da9503a8ac931d9d167149309df3"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::glob_number_images_" ref="abb10da9503a8ac931d9d167149309df3" args="" -->
static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#abb10da9503a8ac931d9d167149309df3">glob_number_images_</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">total numbers of images! <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class can be used to store informations about point and features. This is an abstract class: you can't use it directly. Use for instance <a class="el" href="class_opencv_sf_m_1_1_points_to_track_with_image.html" title="This class can be used to find points and features in pictures using SIFT detector.">PointsToTrackWithImage</a>. </p>
<p>To create a structure from motion, most methods use points to compute the structure. This class focus on the first task in SfM: find points in image which are easy to track... When available, a feature vector for each points is very helpful: the matching will be easier. </p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00025">25</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a81706fbb7c997cbfd478397a5e7b3dc7"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::PointsToTrack" ref="a81706fbb7c997cbfd478397a5e7b3dc7" args="(int corresponding_image=&#45;1, std::vector&lt; cv::KeyPoint &gt; keypoints=std::vector&lt; cv::KeyPoint &gt;(0), cv::Mat descriptors=cv::Mat())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OpencvSfM::PointsToTrack::PointsToTrack </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>corresponding_image</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; cv::KeyPoint &gt;&#160;</td>
          <td class="paramname"><em>keypoints</em> = <code>std::vector&lt;cv::KeyPoint&gt;(&#160;0&#160;)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat&#160;</td>
          <td class="paramname"><em>descriptors</em> = <code>cv::Mat(&#160;)</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>this constructor create an object with available information... </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">corresponding_image</td><td>Global index of image </td></tr>
    <tr><td class="paramname">keypoints</td><td>the points we will try to track... </td></tr>
    <tr><td class="paramname">descriptors</td><td>the feature vector for each points... </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00015">15</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a530e94d0c39358538d907e977263cae0"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::~PointsToTrack" ref="a530e94d0c39358538d907e977263cae0" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OpencvSfM::PointsToTrack::~PointsToTrack </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor : delete points and features vectors </p>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00042">42</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a076f28dac2b30dfcdb2097c496adfd9e"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::addKeypoint" ref="a076f28dac2b30dfcdb2097c496adfd9e" args="(cv::KeyPoint point)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int OpencvSfM::PointsToTrack::addKeypoint </td>
          <td>(</td>
          <td class="paramtype">cv::KeyPoint&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method is used to add a keypoint at the end of the points vector... </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>Keypoints to add </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>index of the keypoint. </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00115">115</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6ac0b2e69bb0fa51af529ec395fd0df7"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::addKeypoints" ref="a6ac0b2e69bb0fa51af529ec395fd0df7" args="(std::vector&lt; cv::KeyPoint &gt; keypoints, cv::Mat descriptors=cv::Mat(), bool computeMissingDescriptor=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::addKeypoints </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; cv::KeyPoint &gt;&#160;</td>
          <td class="paramname"><em>keypoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat&#160;</td>
          <td class="paramname"><em>descriptors</em> = <code>cv::Mat(&#160;)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>computeMissingDescriptor</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method is used to add Keypoints... </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">keypoints</td><td>Keypoints to add </td></tr>
    <tr><td class="paramname">descriptors</td><td>of points, if any </td></tr>
    <tr><td class="paramname">computeMissingDescriptor</td><td>if true, the missing descriptors are computed. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00093">93</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a1e5ef9b8da87d1b412c348ad813d0267"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::computeDescriptors" ref="a1e5ef9b8da87d1b412c348ad813d0267" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::computeDescriptors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method is used to compute only descriptors... </p>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00086">86</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00093">addKeypoints()</a>.</p>

</div>
</div>
<a class="anchor" id="ac7009164560dac1f4d3283c4bf1181a3"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::computeKeypoints" ref="ac7009164560dac1f4d3283c4bf1181a3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OpencvSfM::PointsToTrack::computeKeypoints </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method is used to compute only Keypoints... </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of points </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00077">77</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a9f310ef736a0494457ee9f2193b8b986"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::computeKeypointsAndDesc" ref="a9f310ef736a0494457ee9f2193b8b986" args="(bool forcing_recalculation=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OpencvSfM::PointsToTrack::computeKeypointsAndDesc </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>forcing_recalculation</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method is used to compute both Keypoints and descriptors... </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">forcing_recalculation</td><td>if true previous keypoints are removed... If false and if keypoints and descriptor exists, nothing is done. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of points </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00049">49</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00171">write()</a>.</p>

</div>
</div>
<a class="anchor" id="a35e9134333ee938315f7c89603737c3c"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::DECLARE_MUTEX" ref="a35e9134333ee938315f7c89603737c3c" args="(worker_exclusion)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OpencvSfM::PointsToTrack::DECLARE_MUTEX </td>
          <td>(</td>
          <td class="paramtype">worker_exclusion&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>As we want to be able to compute points using parallel execution, and as not every Opencv functions are thread safe, use this mutex to take care of critical portions. </p>

</div>
</div>
<a class="anchor" id="a68187dd20979c51cef7dad01116f5c94"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::free_descriptors" ref="a68187dd20979c51cef7dad01116f5c94" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::free_descriptors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>To preserve memory, we use this method to free descriptors </p>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00029">29</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="afeff919bd2d785fb9e867e37e14b14d0"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::getColor" ref="afeff919bd2d785fb9e867e37e14b14d0" args="(unsigned int index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int OpencvSfM::PointsToTrack::getColor </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Use this function to get the color of a point </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>of the wanted point </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>color packed into the ARGB format </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00161">161</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4ca955b907dee279030559d255a4e151"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::getDescriptors" ref="a4ca955b907dee279030559d255a4e151" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat OpencvSfM::PointsToTrack::getDescriptors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>this method return the descritors for each points in a matrix with size ( n*m ), where n is the number of points and m is the desciptor size. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>descritors for each points in a matrix with size ( n*m ), where n is the number of points and m is the desciptor size. </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00145">145</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

</div>
</div>
<a class="anchor" id="a196acc6cc4be60ad141eef597db3787c"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::getKeyMatches" ref="a196acc6cc4be60ad141eef597db3787c" args="(const std::vector&lt; TrackOfPoints &gt; &amp;matches, int otherImage, std::vector&lt; cv::Point2f &gt; &amp;pointsVals) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::getKeyMatches </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="class_opencv_sf_m_1_1_track_of_points.html">TrackOfPoints</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>matches</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>otherImage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; cv::Point2f &gt; &amp;&#160;</td>
          <td class="paramname"><em>pointsVals</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method update the points coordinates (last parameter) corresponding to tracks containing image index "otherImage" </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">matches</td><td>list of tracks. Only points found in tracks are returned </td></tr>
    <tr><td class="paramname">otherImage</td><td>index of wanted image </td></tr>
    <tr><td class="paramname">pointsVals</td><td>[ out ] points found in tracks </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00190">190</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="abb8a5af3e4d1e71900284a9e318bc316"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::getKeypoint" ref="abb8a5af3e4d1e71900284a9e318bc316" args="(unsigned int index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const cv::KeyPoint&amp; OpencvSfM::PointsToTrack::getKeypoint </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>this method return the points coordinates of the i^th entry </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>number of keypoints wanted </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>points coordinates and when available orientation and size </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00136">136</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab0ff4754d1e5c734521b5d46aef37c49"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::getKeypoints" ref="ab0ff4754d1e5c734521b5d46aef37c49" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;cv::KeyPoint&gt;&amp; OpencvSfM::PointsToTrack::getKeypoints </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>this method return the points coordinates and sometimes orientation and size </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>points coordinates and when available orientation and size </dd></dl>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00121">121</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

</div>
</div>
<a class="anchor" id="a086c4acf6884db7487eb05f9c3d996a3"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::impl_computeDescriptors_" ref="a086c4acf6884db7487eb05f9c3d996a3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void OpencvSfM::PointsToTrack::impl_computeDescriptors_ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is the method you should implement when you create a new descriptors extractor... </p>

<p>Reimplemented in <a class="el" href="class_opencv_sf_m_1_1_points_to_track_with_image.html#a5fad1c40831d98f6c98af064232ebbe1">OpencvSfM::PointsToTrackWithImage</a>.</p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00067">67</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00086">computeDescriptors()</a>, and <a class="el" href="_points_to_track_8cpp_source.html#l00049">computeKeypointsAndDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="add21f430e246d2176dee8a34d4b92ead"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::impl_computeKeypoints_" ref="add21f430e246d2176dee8a34d4b92ead" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int OpencvSfM::PointsToTrack::impl_computeKeypoints_ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is the method you should implement when you create a new point detector algorithm. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of points </dd></dl>

<p>Reimplemented in <a class="el" href="class_opencv_sf_m_1_1_points_to_track_with_image.html#a6483112420b569ff0751061b2b909f87">OpencvSfM::PointsToTrackWithImage</a>.</p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00062">62</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00077">computeKeypoints()</a>, and <a class="el" href="_points_to_track_8cpp_source.html#l00049">computeKeypointsAndDesc()</a>.</p>

</div>
</div>
<a class="anchor" id="adda3cb43ad421e89b8ddfe24f1c30b30"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::printPointsOnImage" ref="adda3cb43ad421e89b8ddfe24f1c30b30" args="(const cv::Mat &amp;image, cv::Mat &amp;outImg, const cv::Scalar &amp;color=cv::Scalar::all(&#45;1), int flags=cv::DrawMatchesFlags::DEFAULT) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::printPointsOnImage </td>
          <td>(</td>
          <td class="paramtype">const cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>outImg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const cv::Scalar &amp;&#160;</td>
          <td class="paramname"><em>color</em> = <code>cv::Scalar::all(&#160;-1&#160;)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flags</em> = <code>cv::DrawMatchesFlags::DEFAULT</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>To show the points on image, use this function to draw points on it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>Source image. </td></tr>
    <tr><td class="paramname">outImg</td><td>Output image. Its content depends on flags value what is drawn in output image. See possible flags bit values. </td></tr>
    <tr><td class="paramname">color</td><td>Color of keypoints </td></tr>
    <tr><td class="paramname">flags</td><td>Possible flags bit values is defined by DrawMatchesFlags ( see <a href="http://opencv.willowgarage.com/documentation/cpp/features2d_drawing_function_of_keypoints_and_matches.html#cv-drawmatches">http://opencv.willowgarage.com/documentation/cpp/features2d_drawing_function_of_keypoints_and_matches.html#cv-drawmatches</a> ) </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00123">123</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="aaae603d73a658ed0b4d2c82463372c3b"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::read" ref="aaae603d73a658ed0b4d2c82463372c3b" args="(const cv::FileNode &amp;node, PointsToTrack &amp;points)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::read </td>
          <td>(</td>
          <td class="paramtype">const cv::FileNode &amp;&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_opencv_sf_m_1_1_points_to_track.html">PointsToTrack</a> &amp;&#160;</td>
          <td class="paramname"><em>points</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Load the points from a YAML file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>Previously opened YAML file node </td></tr>
    <tr><td class="paramname">points</td><td>output </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00129">129</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a4659d15437d115ece00feb5335923d50"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::write" ref="a4659d15437d115ece00feb5335923d50" args="(cv::FileStorage &amp;fs, const PointsToTrack &amp;points)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void OpencvSfM::PointsToTrack::write </td>
          <td>(</td>
          <td class="paramtype">cv::FileStorage &amp;&#160;</td>
          <td class="paramname"><em>fs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html">PointsToTrack</a> &amp;&#160;</td>
          <td class="paramname"><em>points</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Save the points into a YAML file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fs</td><td>Previously opened YAML file node </td></tr>
    <tr><td class="paramname">points</td><td>sequence to save... </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_points_to_track_8cpp_source.html#l00171">171</a> of file <a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="adcbf3783bdf4a2a1d3e10c4b74224899"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::descriptors_" ref="adcbf3783bdf4a2a1d3e10c4b74224899" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#adcbf3783bdf4a2a1d3e10c4b74224899">OpencvSfM::PointsToTrack::descriptors_</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>this attribute will store descritors for each points in a matrix with size ( n*m ), where n is the number of points and m is the desciptor size. </p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00049">49</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00093">addKeypoints()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00049">computeKeypointsAndDesc()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00029">free_descriptors()</a>, <a class="el" href="_points_to_track_with_image_8cpp_source.html#l00106">OpencvSfM::PointsToTrackWithImage::impl_computeDescriptors_()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00129">read()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00171">write()</a>, and <a class="el" href="_points_to_track_8cpp_source.html#l00042">~PointsToTrack()</a>.</p>

</div>
</div>
<a class="anchor" id="a08c9523080571e71e30b11a2f8b9c6b9"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::keypoints_" ref="a08c9523080571e71e30b11a2f8b9c6b9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::KeyPoint&gt; <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a08c9523080571e71e30b11a2f8b9c6b9">OpencvSfM::PointsToTrack::keypoints_</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This attribute will store points coordinates and sometimes orientation and size </p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00043">43</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00093">addKeypoints()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00077">computeKeypoints()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00049">computeKeypointsAndDesc()</a>, <a class="el" href="_points_to_track_with_image_8cpp_source.html#l00056">OpencvSfM::PointsToTrackWithImage::getColorOfPoints()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00190">getKeyMatches()</a>, <a class="el" href="_points_to_track_with_image_8cpp_source.html#l00106">OpencvSfM::PointsToTrackWithImage::impl_computeDescriptors_()</a>, <a class="el" href="_points_to_track_with_image_8cpp_source.html#l00098">OpencvSfM::PointsToTrackWithImage::impl_computeKeypoints_()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00123">printPointsOnImage()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00129">read()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00171">write()</a>, and <a class="el" href="_points_to_track_8cpp_source.html#l00042">~PointsToTrack()</a>.</p>

</div>
</div>
<a class="anchor" id="a52d852bc3fa39c952405c55a8d1e378f"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::nb_workers_" ref="a52d852bc3fa39c952405c55a8d1e378f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#a52d852bc3fa39c952405c55a8d1e378f">OpencvSfM::PointsToTrack::nb_workers_</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>To preserve memory, we need to know how many process are working with theses points... </p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00038">38</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_8cpp_source.html#l00049">computeKeypointsAndDesc()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00029">free_descriptors()</a>, <a class="el" href="_points_to_track_with_image_8cpp_source.html#l00106">OpencvSfM::PointsToTrackWithImage::impl_computeDescriptors_()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00015">PointsToTrack()</a>, and <a class="el" href="_points_to_track_8cpp_source.html#l00129">read()</a>.</p>

</div>
</div>
<a class="anchor" id="ae34562f2590efe81f5ce137ef011bd00"></a><!-- doxytag: member="OpencvSfM::PointsToTrack::RGB_values_" ref="ae34562f2590efe81f5ce137ef011bd00" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;unsigned int&gt; <a class="el" href="class_opencv_sf_m_1_1_points_to_track.html#ae34562f2590efe81f5ce137ef011bd00">OpencvSfM::PointsToTrack::RGB_values_</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>When available, the color of each point can be stored here. </p>

<p>Definition at line <a class="el" href="_points_to_track_8h_source.html#l00053">53</a> of file <a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a>.</p>

<p>Referenced by <a class="el" href="_points_to_track_with_image_8cpp_source.html#l00056">OpencvSfM::PointsToTrackWithImage::getColorOfPoints()</a>, <a class="el" href="_points_to_track_8cpp_source.html#l00129">read()</a>, and <a class="el" href="_points_to_track_8cpp_source.html#l00171">write()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Travail/These/Determination caracteristiques camera/GSoC/SfM/src/<a class="el" href="_points_to_track_8h_source.html">PointsToTrack.h</a></li>
<li>D:/Travail/These/Determination caracteristiques camera/GSoC/SfM/src/<a class="el" href="_points_to_track_8cpp_source.html">PointsToTrack.cpp</a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Sun Aug 21 2011 16:45:53 for GSoC2011SfM by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
